package CollectionDemo;

import java.util.ArrayList;
import java.util.Collection;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 阿宾
 * Date: 2024-10-31
 * Time: 11:24
 */
public class Demo2 {
    public static void main(String[] args) {
        //1.创建集合对象，类型是自定义学生类型
        Collection<Student> collection = new ArrayList<>();

        //2.创建学生对象
        Student s1 = new Student("zhangsan",12);
        Student s2 = new Student("wangwu",13);
        Student s3 = new Student("lisi",14);

        //3.将学生对象添加集合中
        collection.add(s1);
        collection.add(s2);
        collection.add(s3);

        //System.out.println(collection);
        //因为打印会调用toString方法，而Student中没有该方法，会调用默认父类Object中的toString方法，
        // 该方法打印返回的是地址值

        //4.判断集合中某一个学生对象是否包含
        Student s4 = new Student("lisi",14);

        //需求：如果同姓名和同年龄，就认为是同一个学生。
        System.out.println(collection.contains(s4));//此时返回false
        //因为contains方法在底层依赖equals方法判断对象是否一致的。
        //如果存的是自定义对象，没有重写equals方法，那么默认使用Object类中的equals方法进行判断，
        // 而Object类中equals方法，依赖地址值进行判断。

        //所以，需要在自定义的Javabean类中，重写equals方法就可以了。

    }
}
